package com.chenfan.mcn.extension.log;

import com.chenfan.mcn.enums.LogBusinessTypeEnum;
import lombok.Data;
import org.apache.commons.lang.StringUtils;

import java.io.Serializable;
import java.util.Date;

/**
 * @author tangwei
 * Date:     2021/1/9 15:55
 * Description: 字段修改操作日志
 */
@Data
public class FieldChangeOperateLog implements Serializable {

    private static final long serialVersionUID = 3927093820735464144L;

    /**
     * 日志主键ID
     */
    private Long id;

    /**
     * traceId
     */
    private String traceId;

    /**
     * 行为名称
     */
    private String actionName;

    /**
     * 业务id
     */
    private Long bussinessId;

    /**
     * 业务类型
     */
    private Integer bussinessType;

    /**
     * 行为备注
     */
    private String remark;

    /**
     * 操作类型
     */
    private Integer operationType;


    /**
     *  字段名称
     */
    private String operationField;

    /**
     * 字段类型
     */
    private String fieldType;

    /**
     * 操作前值
     */
    private String beforeValue;

    /**
     * 操作后值
     */
    private String afterValue;

    /**
     * 操作时间
     */
    private Date operationTime;

    /**
     * 操作人id
     */
    private Long operationBy;

    /**
     * 操作人名称
     */
    private String operationName;


    public String getActionName() {
        return StringUtils.defaultIfBlank(actionName, this.getOperationTypeName());
    }

    public String getBussinessTypeName() {
        return LogBusinessTypeEnum.getDesc(this.getBussinessType());
    }

    public String getOperationTypeName() {
        return OperationTypeEnum.getDesc(this.getOperationType());
    }
}